//////////////////////////////////////////////////////////////////////////

#ifndef _GRAPHICS_H_
#include "graphics.h"
#endif

//////////////////////////////////////////////////////////////////////////

#ifndef _GRAPHICSIMPL_H_
#include "graphicsimpl.h"
#endif

//////////////////////////////////////////////////////////////////////////


Graphics::Graphics()
{
    m_Impl = new GraphicsImpl();
}


//////////////////////////////////////////////////////////////////////////


Graphics::~Graphics()
{
    if (m_Impl)
        delete m_Impl;
}


//////////////////////////////////////////////////////////////////////////


Graphics::Object Graphics::LoadObject( const std::string& _fileName )
{
    return m_Impl->LoadObject(_fileName);
}


//////////////////////////////////////////////////////////////////////////


void Graphics::DrawObject( Object _object, size_t _x, size_t _y, bool _center, Graphics::Object _surface )
{
    m_Impl->DrawObject(_object, _x, _y, _center, _surface);
}


//////////////////////////////////////////////////////////////////////////


void Graphics::Update()
{
    m_Impl->Update();
}


//////////////////////////////////////////////////////////////////////////


void Graphics::DrawString( const char* _str )
{
    m_Impl->DrawString(_str);
}


//////////////////////////////////////////////////////////////////////////


void Graphics::ClearScreen()
{
    m_Impl->ClearScreen();
}


//////////////////////////////////////////////////////////////////////////
